package com.fenrirtec.aepp.common.service;

import java.util.List;

import com.fenrirtec.aepp.common.condition.TenderCondition;
import com.fenrirtec.aepp.common.dto.MemberDto;
import com.fenrirtec.aepp.common.dto.TenderDetailDto;
import com.fenrirtec.aepp.common.dto.TenderInviteDto;
import com.fenrirtec.aepp.common.dto.TenderMemberStatusDto;
import com.fenrirtec.aepp.common.dto.TenderProductDto;
import com.fenrirtec.aepp.common.dto.TenderQuoteDetailDto;
import com.fenrirtec.aepp.common.dto.TenderQuoteDto;
import com.fenrirtec.aepp.common.dto.TenderVenderDto;

public interface TenderService {
    Integer countByCnd(TenderCondition condition);
    List<TenderDetailDto> searchByCnd(TenderCondition condition);
    Integer publish(TenderDetailDto tenderDetailDto, List<TenderProductDto> tenderProductDtoList, List<TenderVenderDto> tenderVenderDtoList, String createUser);
    List<TenderProductDto> findProduct(Integer tenderId);
    TenderDetailDto findDetail(Integer tenderId);
    Boolean enroll(Integer tenderId, String memberLoginName);
    TenderMemberStatusDto findTenderMemberStatus(Integer tenderId, String memberLoginName);
    Boolean quote(TenderQuoteDto tenderQuoteDto, List<TenderQuoteDetailDto> tenderQuoteDetailDtoList);
    List<TenderInviteDto> findInvite(Integer tenderId);
    Boolean update(TenderDetailDto tenderDetailDto, List<TenderProductDto> tenderProductDtoList, List<TenderVenderDto> tenderVenderDtoList, String updateUser);
    Boolean delete(Integer tenderId);
    Boolean changeStatus(Integer tenderId, Integer status, String updateUser);
    List<MemberDto> findEnrollMember(Integer tenderId);
    List<MemberDto> findFinalistMember(Integer tenderId);
    List<MemberDto> findQuoteMember(Integer tenderId);
    MemberDto findBidMember(Integer tenderId);
    Boolean finalist(Integer tenderId, String[] members, String createUser);
    Boolean awardBid(Integer tenderId, String memberLoginName, String createUser);
    Boolean withdrawal(Integer tenderId, String memberLoginName, String loginName);
    List<TenderQuoteDetailDto> findQuoteDetail(Integer tenderId, String memberLoginName);
    TenderQuoteDto findQuote(Integer tenderId, String memberLoginName);
}
